
package union.uc.com.rxjava_example.plugin;

import java.util.HashMap;
import java.util.Map;
import union.uc.com.rxjava_example.contants.Constants;
import union.uc.com.rxjava_example.R;
public class MarbleDiagram{
  private Map<String, Integer[]> mCodes = new HashMap<>();
  public MarbleDiagram(){

add(Constants.Utility.delay,R.drawable.delay_oo_png);
add(Constants.ErrorHandler.onErrorResumeNext,R.drawable.onerrorresumenext_png);
add(Constants.Combine.groupjoin,R.drawable.groupjoin_png);
add(Constants.Async.startFuture,R.drawable.startfuture_png);
add(Constants.Combine.and_then_when,R.drawable.and_then_when_c_png);
add(Constants.Filter.firstOrDefault,R.drawable.firstordefault_png);
add(Constants.Async.toAsync,R.drawable.toasync_png);
add(Constants.Utility.cache,R.drawable.cache_png);
add(Constants.BlockingObservable.singleOrDefault,R.drawable.b_singleordefault_png);
add(Constants.ObservableCreate.from_iterable,R.drawable.from_png);
add(Constants.Subject.behavior,R.drawable.s_behaviorsubject_png);
add(Constants.Transformation.map,R.drawable.map_png);
add(Constants.Utility.single,R.drawable.single_png);
add(Constants.MathAggregate.sumDouble,R.drawable.sum_f_png);
add(Constants.BlockingObservable.forEach,R.drawable.b_foreach_png);
add(Constants.BlockingObservable.next,R.drawable.b_next_png);
add(Constants.ConnectableObservable.refCount,R.drawable.publishrefcount_c_png);
add(Constants.BlockingObservable.toIterable,R.drawable.b_toiterable_png);
add(Constants.ObservableCreate.interval,R.drawable.timer_p_png);
add(Constants.Condition.sequenceEqual,R.drawable.sequenceequal_png);
add(Constants.Transformation.flatMapIterable,R.drawable.mergemapiterable_png);
add(Constants.Strings.split,R.drawable.st_split_png);
add(Constants.Utility.using,R.drawable.using_png);
add(Constants.Condition.takeWhile,R.drawable.takewhile_png);
add(Constants.Filter.filter,R.drawable.filter_png);
add(Constants.Utility.doOnError,R.drawable.doonerror_png);
add(Constants.Subject.replay_create_with_time,R.drawable.s_replaysubject_png);
add(Constants.Condition.defaultIfEmpty,R.drawable.defaultifempty_png);
add(Constants.ErrorHandler.retry,R.drawable.retry_png);
add(Constants.Filter.ignoreElements,R.drawable.ignoreelements_png);
add(Constants.Filter.takeLastBuffer,R.drawable.takelastbuffer_png);
add(Constants.Combine.join,R.drawable.join__png);
add(Constants.MathAggregate.averageInteger,R.drawable.average_png);
add(Constants.Filter.takeFirst,R.drawable.takefirstn_png);
add(Constants.Filter.throttleLast,R.drawable.throttlelast_png);
add(Constants.Condition.skipUtil,R.drawable.skipuntil_png);
add(Constants.Utility.delaySubscription,R.drawable.delaysubscription_o_png);
add(Constants.Filter.skipLast,R.drawable.skiplast_png);
add(Constants.Subject.replay,R.drawable.s_replaysubject_png);
add(Constants.ObservableCreate.from_future,R.drawable.from_future_png);
add(Constants.ConnectableObservable.publish,R.drawable.publishconnect_png);
add(Constants.ObservableCreate.just,R.drawable.just_png);
add(Constants.ObservableCreate.error,R.drawable.error_png);
add(Constants.Transformation.concatMap,R.drawable.concatmap_png);
add(Constants.ObservableCreate.repeat,R.drawable.repeat_o_png);
add(Constants.MathAggregate.min,R.drawable.min_png);
add(Constants.MathAggregate.maxBy,R.drawable.maxby_png);
add(Constants.Utility.singleOrDefault,R.drawable.singleordefault_png);
add(Constants.Filter.elementAtOrDefault,R.drawable.elementatordefault_png);
add(Constants.Combine.zip,R.drawable.zip_png);
add(Constants.BlockingObservable.single,R.drawable.b_single_png);
add(Constants.Condition.skipWhile,R.drawable.skipwhile_png);
add(Constants.MathAggregate.averageFloat,R.drawable.average_png);
add(Constants.Transformation.buffer,R.drawable.buffer1_png);
add(Constants.Utility.timeInterval,R.drawable.timeinterval_png);
add(Constants.MathAggregate.sumFloat,R.drawable.sum_f_png);
add(Constants.ObservableCreate.create,R.drawable.create_png);
add(Constants.Filter.timeout,R.drawable.materialize_png);
add(Constants.Condition.switchcase,R.drawable.switchcase_png);
add(Constants.Condition.ifThen,R.drawable.ifthen_png);
add(Constants.Condition.contains,R.drawable.contains_png);
add(Constants.Utility.doOnCompleted,R.drawable.dooncompleted_png);
add(Constants.Utility.doOnEach,R.drawable.dooneach_png);
add(Constants.Combine.switchOnNext,R.drawable.switchdo_png);
add(Constants.Strings.encode,R.drawable.st_encode_png);
add(Constants.BlockingObservable.mostRecent,R.drawable.b_mostrecent_png);
add(Constants.MathAggregate.averageDouble,R.drawable.average_png);
add(Constants.Subject.async,R.drawable.s_asyncsubject_png);
add(Constants.ErrorHandler.onErrorReturn,R.drawable.onerrorreturn_png);
add(Constants.BlockingObservable.last,R.drawable.b_last_png);
add(Constants.ObservableCreate.empty,R.drawable.empty_png);
add(Constants.Combine.mergeDelayError,R.drawable.mergedelayerror_png);
add(Constants.ObservableCreate.timer,R.drawable.timer_png);
add(Constants.ErrorHandler.onExceptionResumeNext,R.drawable.onexceptionresumenextviaobservable_png);
add(Constants.Utility.doOnSubscribe,R.drawable.doonsubscribe_png);
add(Constants.Utility.finallyDo,R.drawable.finallydo_png);
add(Constants.ObservableCreate.never,R.drawable.never_png);
add(Constants.Utility.doOnUnsubscribe,R.drawable.doonunsubscribe_png);
add(Constants.Transformation.cast,R.drawable.cast_png);
add(Constants.Utility.doOnTerminate,R.drawable.doonterminate_png);
add(Constants.Subject.behavior_with_init_value,R.drawable.s_behaviorsubject_png);
add(Constants.MathAggregate.averageLong,R.drawable.average_png);
add(Constants.Filter.debounce,R.drawable.debounce_png);
add(Constants.Strings.stringConcat,R.drawable.st_stringconcat_png);
add(Constants.Condition.amb,R.drawable.amb_png);
add(Constants.Filter.elementAt,R.drawable.elementat_png);
add(Constants.Condition.doWhile,R.drawable.dowhile_png);
add(Constants.Filter.distinctUntilChanged,R.drawable.distinctuntilchanged_png);
add(Constants.ObservableCreate.repeatWhen,R.drawable.repeatwhen_f_png);
add(Constants.Filter.skip,R.drawable.skip_png);
add(Constants.Combine.combineLatest,R.drawable.combinelatest_png);
add(Constants.ConnectableObservable.replay,R.drawable.replay_c_png);
add(Constants.Strings.decode,R.drawable.st_decode_png);
add(Constants.Condition.exists,R.drawable.exists_png);
add(Constants.Transformation.switchMap,R.drawable.switchmap_png);
add(Constants.Transformation.window,R.drawable.window1_png);
add(Constants.Condition.all,R.drawable.all_png);
add(Constants.Condition.WhileDo,R.drawable.whiledo_png);
add(Constants.Filter.takeLast,R.drawable.takelast_t_png);
add(Constants.Subject.publish,R.drawable.s_publishsubject_png);
add(Constants.Strings.from,R.drawable.st_from_png);
add(Constants.MathAggregate.concat,R.drawable.concat_png);
add(Constants.Strings.byLine,R.drawable.st_byline_png);
add(Constants.MathAggregate.max,R.drawable.max_png);
add(Constants.BlockingObservable.toFuture,R.drawable.b_tofuture_png);
add(Constants.ErrorHandler.retryWhen,R.drawable.retrywhen_f_png);
add(Constants.Async.fromCallable,R.drawable.fromcallable_png);
add(Constants.MathAggregate.minBy,R.drawable.minby_png);
add(Constants.Async.forEachFuture,R.drawable.foreachfuture_png);
add(Constants.Condition.isEmpty,R.drawable.isempty_png);
add(Constants.Async.fromAction,R.drawable.fromaction_png);
add(Constants.Combine.startWith,R.drawable.startwith_o_png);
add(Constants.Utility.subscribeOn,R.drawable.subscribeon_png);
add(Constants.Combine.merge,R.drawable.merge_png);
add(Constants.ObservableCreate.range,R.drawable.range_png);
add(Constants.Filter.throttleFirst,R.drawable.throttlefirst_png);
add(Constants.Filter.take,R.drawable.take_png);
add(Constants.BlockingObservable.getIterator,R.drawable.b_getiterator_png);
add(Constants.Filter.throttleWithTimeout,R.drawable.throttlewithtimeout_png);
add(Constants.Condition.takeUntil,R.drawable.takeuntil_png);
add(Constants.Filter.ofType,R.drawable.ofclass_png);
add(Constants.Filter.last,R.drawable.last_png);
add(Constants.BlockingObservable.lastOrDefault,R.drawable.b_lastordefault_png);
add(Constants.MathAggregate.sumLong,R.drawable.sum_f_png);
add(Constants.Transformation.groupBy,R.drawable.groupby_png);
add(Constants.Strings.join,R.drawable.st_join_png);
add(Constants.Utility.serialize,R.drawable.synchronize_png);
add(Constants.Transformation.flatMap,R.drawable.flatmap_png);
add(Constants.Filter.sample,R.drawable.sample_png);
add(Constants.Utility.materialize,R.drawable.materialize_png,R.drawable.dematerialize_c_png);
add(Constants.ObservableCreate.defer,R.drawable.defer_png);
add(Constants.MathAggregate.sumInteger,R.drawable.sum_f_png);
add(Constants.Async.deferFuture,R.drawable.deferfuture_png);
add(Constants.Filter.distinct,R.drawable.distinct_key_png);
add(Constants.Async.start,R.drawable.start_png);
add(Constants.Filter.first,R.drawable.first_png);
add(Constants.Transformation.scan,R.drawable.scan_png);
add(Constants.Filter.lastOrDefault,R.drawable.lastordefault_png);
add(Constants.Async.fromRunnable,R.drawable.fromrunnable_png);
add(Constants.Utility.timestamp,R.drawable.timestamp_png);
add(Constants.Utility.observeOn,R.drawable.observeon_png);  
  }
  public Integer[] get(String key){
    return mCodes.get(key);
  }
  private void add(String key, Integer... urls) {
    mCodes.put(key, urls);
  } 
}
